package com.cskaoyan.javase.stringbuffer;

/**
 * @description: 可变字符串的引入
 * @author: wuguidong@cskaoyan.onaliyun.com
 **/

/**
 * 补充知识:
 *      String作为引用数据类型之所以能够进行"+"号运算,是因为底层自动调用方法进行拼接操作,这些拼接就是通过可变字符串StringBuilder完成的(详细的可以自行百度)
 *      具体就是调用append方法
 *
 * String之所以不可变就是因为char类型value数组是final修饰的,只需要让它不再是final修饰,就会成为一个可变字符串
 * 这里介绍两个可变的字符串类:
 *      StringBuffer
 *      StringBuilder
 *
 *
 */
public class Demo {
    public static void main(String[] args) {
        //字符串的拼接,尤其是多次拼接使用String会有效率问题,因为会频繁创建新的String对象
       /* String str = "";
        for (int i = 0; i < 100000; i++) {
            str += "abc";
        }
        System.out.println(str);*/

       StringBuffer sb = new StringBuffer();
        for (int i = 0; i < 1000000; i++) {
            sb.append("abc");
        }
        System.out.println(sb);
    }
}
